perm filename TEST2.PAS[S1,ALS]2 blob sn#411921 filedate 1979-01-24 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00003 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	(*PROGRAM HEADER PAGE*)
C00005 00003	program tstrun (input, output, file0, file1)
C00008 ENDMK
C⊗;
(*PROGRAM HEADER PAGE*)

(*PAS10 OPTIONS*) (* D+,R32,S1300*)			(*X10S1*)

(*							     DEFAULT

D+	DEBUG AND POSTMORTEM DUMP				-
E+	EXTERNAL CALLS TO LEVEL 1 PROCEDURES ALLOWED		-
Fn	FILE OPTION						1
I+	FORTRAN I/O IN EXTERNAL FORTRAN SUBROUTINES		-
L+	OBJECT LISTING						-
Rn	SIZE OF LOW-SEGMENT				(SEE PAS10 MANUAL)
Sn	MAX INSTRUCTIONS PER STATEMENT			       1000
T+	RUNTIME CHECK						+
U+	72 COLUMN FORMAT					-
Xn	HIGHEST REGISTER FOR PARAMETERS				6
*)

(*SLAC PCPASC OPTIONS*) (* B+,D+,M-*)

(*							     DEFAULT

A+	GENERATE 370 OBJECT MODULE				-
A-	GENERATE 370 ASSEMBLY MODULE
B+	BOUNDS CHECKING, BUT ALLOW 'BIG' CHARACTERS		-
C+	EMIT PCODE						+
D+	RUNTIME CHECKING OF POINTER, INDEX, SUBRANGE VALUES	-
E+	FILE IS IN EBCDIC CHARACTER SET				-
F+	SAVE FPR'S ON PROCEDURE/FUNCTION ENTRY			+
K+	ENABLE STATEMENT EXECUTION COUNTING			-
L+	LIST SOURCE PROGRAM					+
M+	72 COLUMN FORMAT					+
P+	DOUBLE-WORD BOUNDARY ALIGNMENT				-
S+	SAVE GPR'S ON PROCEDURE/FUNCTION ENTRY			+
T+	PRINT SYMBOL TABLES (FOR POST-PROCESSOR)		-
U+	GET STATISTICS?? 2ND PARAMETER TO PCODE BGN INSTR.	-
V+	?? 3RD PCODE BGN INSTRUCTION PARAMETER			-
X+	USE ACTUAL PROCEDURE NAMES FOR EXTERNAL REFERENCES	-
X-	GENERATE UNIQUE 8-CHAR NAMES FOR EXTERNAL REFERENCES
*)

(*S1 PCPASC OPTION DIFFERENCES*) (*$A+,B+,D+,L-,M120*)	(*X10S1*)



(*							     DEFAULT

A+	GENERATE S1 ASSEMBLY MODULE				-
A-	GENERATE S1 OBJECT MODULE
*)

(* SLAC/PDP-10 TRANSPORT DEPENDENCIES FLAGGED WITH "XSL10" *)
(* PDP-10/S-1 TRANSPORT DEPENDENCIES FLAGGED WITH "X10S1" *)
program tstrun (input, output, file0, file1);
const
  LREAL = 800000.88;
  SREAL = 100000.11;
  LINT = 800000;
  SINT = 100000;

type
  rec = record int: integer end;

var
  M1,M2,M3,M4,M5,M6: integer;
  i,j,k,t1,t2,theta: integer;
  r,x,y,z: real;
  c: char;
  a: packed array[-10..10, -10..10] of char;
  file0, file1: packed file of char;
  p1, p2, p3, p4: ↑rec;
procedure AA(A1,A2,A3 : integer);
var
  A4,A5,A6: integer;
  begin
  A4 := A1 div A2;
  if A1 = M1 then WRITE(OUTPUT,'A1 = M1')
  else WRITE(OUTPUT,'A1 ≠ M1');
  end;

procedure BB(B2,B3 : integer);
var
  B1,B4,B5,B6: integer;
  begin
  B1 := B2 * B3;
  WRITE(OUTPUT,'This is BB  C1,C2 PASSED');
  AA(B1,B2,B3);
  end;

procedure CC(C1: integer);
var
  C2,C3,C4,C5,C6: integer;
  begin
  C2 := SINT;
  C3 := C1 div C2;
  WRITE(OUTPUT,'This is CC  M1  PASSED');
  BB(C2,C3);
  end;

begin
  WRITE(OUTPUT,'This is MM');
  M1:= LINT;
  CC(M1);
  end.